Certainty in Lockless Concurrent Algorithms: an Informal Proof of Lace
نویسنده
چکیده
Lockless concurrent programming brings new challenges to the field of program verification. These lockless programs require methods such as compare-and-swap and memory fences to ensure correctness. However, their unpredictable behaviour in combination with these methods complicates verifying such algorithms. We use linearisation points[3], i.e. the points in time when the state of the system changes, to abstract these methods. By deducing the possible ordering of these linearisation points we can predict the possible states of the system and draw conclusions about the scrutinised algorithms. This paper uses linearisation points and the control flow of the program to create an informal proof of the Lace[10] algorithm, which implements a work-stealing method for concurrent programs.
منابع مشابه
Deterministic Synchronization in Multicore Systems: the Role of RCU
Although real-time operating systems and applications have been available for multicore systems for some years, shared-memory parallel systems still pose some severe challenges for real-time algorithms, particularly as the number of CPUs increases. These challenges can take the form of lock contention, memory contention, conflicts/restarts for lockless algorithms, as well as many others. One te...
متن کاملLace: Non-blocking Split Deque for Work-Stealing
Work-stealing is an efficient method to implement load balancing in fine-grained task parallelism. Typically, concurrent deques are used for this purpose. A disadvantage of many concurrent deques is that they require expensive memory fences for local deque operations. In this paper, we propose a new non-blocking work-stealing deque based on the split task queue. Our design uses a dynamic split ...
متن کاملEffects of Lace-up and Aircast Ankle Braces on Dynamic Postural Control in Functional Fatigue Condition: A Study on Volleyball Players with Ankle Instability
Purpose: To determine the more effective ankle brace (lace-up or Aircast ankle brace) at providing dynamic postural control in volleyball players with unstable ankle under functional fatigue conditions. Methods: Subjects of this study participated in 3 separate testing sessions and did not use or used a different brace at each session i.e. no brace (NB), lace-up ankle brace (AB), and Airca...
متن کاملParallel Model Checking With Lazy Cycle Detection
We propose new algorithms for parallel, exhaustive model checking on multiprocessor architectures. Our approach is designed to emphasize memory efficiency and concurrency and is compatible with common parallel work-sharing policies, such as work-stealing. Moreover, our algorithm makes no particular assumptions about the model or the state class abstractions used during model checking, and there...
متن کاملPerformance of memory reclamation for lockless synchronization
Achieving high performance for concurrent applications on modern multiprocessors remains challenging. Many programmers avoid locking to improve performance, while others replace locks with non-blocking synchronization to protect against deadlock, priority inversion, and convoying. In both cases, dynamic data structures that avoid locking require a memory reclamation scheme that reclaims element...
متن کامل